Iterative interference canceller for wireless multiple-access systems with multiple receive antennas

ABSTRACT

This invention teaches to the details of an interference canceling receiver for canceling intra-cell and inter-cell interference in coded, multiple-access, spread spectrum transmissions that propagate through frequency selective communication channels to a multiplicity of receive antennas. The receiver is designed or adapted through the repeated use of symbol-estimate weighting, subtractive cancellation with a stabilizing step-size, and mixed-decision symbol estimates. Receiver embodiments may be designed, adapted, and implemented explicitly in software or programmed hardware, or implicitly in standard RAKE-based hardware either within the RAKE (i.e., at the finger level) or outside the RAKE (i.e., at the user or subchannel symbol level). Embodiments may be employed in user equipment on the forward link or in a base station on the reverse link. It may be adapted to general signal processing applications where a signal is to be extracted from interference.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to Provisional U.S. Pat. Appl. Ser. No. 60/736,204, filed Nov. 15, 2005, and entitled “Iterative Interference Cancellation Using Mixed Feedback Weights and Stabilizing Step Sizes,” and is a Continuation in Part of U.S. patent application Ser. No. 11/451,932, filed Jun. 13, 2006, and entitled “Iterative Interference Cancellation Using Mixed Feedback Weights and Stabilizing Step Sizes,” which are incorporated by reference in their entireties.

BACKGROUND

1. Field of the invention

The present invention relates generally to cancellation of intra-channel and inter-channel interference in coded spread spectrum wireless communication systems with multiple receive antennas. More specifically, the invention takes advantage of the receive diversity afforded by multiple receive antennas in combination with multiple uses of an interference-cancellation unit consisting of symbol-estimate weighting, subtractive cancellation with a stabilizing step-size, and a mixed-decision symbol estimator.

2. Discussion of the Related Art

In an exemplary wireless multiple-access system, a communication resource is divided into code-space subchannels allocated to different users. A plurality of subchannel signals received by a wireless terminal (e.g., a subscriber unit or a base station) may correspond to different users and/or different subchannels allocated to a particular user.

If a single transmitter broadcasts different messages to different receivers, such as a base station in a wireless communication system serving a plurality of mobile terminals, the channel resource is subdivided in order to distinguish between messages intended for each mobile. Thus, each mobile terminal, by knowing its allocated subchannel(s), may decode messages intended for it from the superposition of received signals. Similarly, a base station typically separates signals it receives into subchannels in order to differentiate between users.

In a multipath environment, received signals are superpositions of time-delayed and complex-scaled versions of the transmitted signals. Multipath can cause several types of interference. Intra-channel interference occurs when the multipath time-spreading causes subchannels to leak into other subchannels. For example, forward-link subchannels that are orthogonal at the transmitter may not be orthogonal at the receiver. When multiple base stations (or sectors or cells) are active, inter-channel interference may result from unwanted signals received from other base stations. These types of interference can degrade communications by causing a receiver to incorrectly decode received transmissions, thus increasing a receiver's error floor. Interference may degrade communications in other ways. For example, interference may diminish the capacity of a communication system, decrease the region of coverage, and/or decrease maximum data rates. For these reasons, a reduction in interference can improve reception of selected signals while addressing the aforementioned limitations due to interference. Multiple receive antennas enable the receiver to process more information, allowing greater interference-reduction than can be accomplished with a single receive antenna.

In code division multiple access (such as used in CDMA 2000, WCDMA, EV-DO (in conjunction with time-division multiple access), and related standards), a set of symbols is sent across a common time-frequency slot of the physical channel and separated by the use of a set of distinct code waveforms, which are usually chosen to be orthogonal (or pseudo-orthogonal for reverse-link transmissions). The code waveforms typically vary in time, with variations introduced by a pseudo-random spreading code (PN sequence). The wireless transmission medium is characterized by a time-varying multipath profile that causes multiple time-delayed replicas of the transmitted waveform to be received, each replica having a distinct amplitude and phase due to path loss, absorption, and other propagation effects. As a result, the received code set is no longer orthogonal. Rather, it suffers from intra-channel interference within a base station and inter-channel interference arising from transmissions in adjacent cells.

SUMMARY OF THE INVENTION

In view of the foregoing background, embodiments of the present invention may provide a generalized interference-canceling receiver for canceling intra-channel and inter-channel interference in multiple-access coded-waveform transmissions that propagate through frequency-selective communication channels and are received by a plurality of receive antennas. Receiver embodiments may be designed, adapted, and implemented explicitly in software or programmed hardware, or implicitly in standard RAKE-based hardware. Embodiments may be employed in user equipment on the downlink or in a base station on the uplink.

An interference-cancellation system configured for canceling at least one of inter-cell and intra-cell interference in multiple-access communication signals received from a plurality of antennas comprises a front-end processing means coupled to an iterative interference-cancellation means.

A front-end processing means is configured for generating initial symbol estimates to be coupled to an iterative interference-cancellation means. The front-end processing means may include, by way of example, but without limitation, a combiner configured for combining received signals from each of a plurality of transmission sources across a plurality of antennas for producing combined signals, a despreader configured for resolving the combined signals onto a signal basis for the plurality of transmission sources to produce soft symbol estimates from the plurality of transmission sources, and a symbol estimator configured for performing a mixed decision on each of the soft symbol estimates to generate the initial symbol estimates.

In one embodiment, the front-end processing means may further comprise a synthesizer configured for synthesizing estimated Rake finger signals for each antenna that would be received if weighted symbol decisions were employed at the plurality of transmission sources, and a subtraction module configured for performing per-antenna subtraction of a sum of synthesized Rake finger signals from that antenna's received signal to produce an error signal.

In another embodiment, the front-end processing means may further comprise a despreader configured for resolving each of a plurality of error signals corresponding to each of a plurality of antennas onto a signal basis for the plurality of transmission sources for producing a plurality of resolved error signals, a first combiner configured for combining the resolved error signals across antennas for producing a combined signal, a stabilizing step-size module configured to scale the combined signal by a stabilizing step size for producing a scaled signal, and a second combiner configured for combining the combined signal with a weighted input vector.

An iterative interference-cancellation means may include, by way of example, but without limitation, a sequence of interference-cancellation units. In one embodiment, each interference-cancellation unit is configured for processing signals received by each of the plurality of antennas, whereby constituent signals for each of a plurality of antennas are added back to corresponding scaled error signals to produce error signals for a plurality of transmission sources, followed by resolving the error signals for the plurality of transmission sources across the plurality of antennas onto a signal basis for the plurality of transmission sources.

In one embodiment, each interference-cancellation unit may comprise a soft-weighting module configured to apply weights to a plurality of input symbol decisions to produce weighted symbol decisions, a synthesizer corresponding to each antenna of theplurality of antennas and configured for synthesizing constituent signals, a subtractive canceller configured to perform a per-antenna subtraction of the synthesized signal from the received signal to produce a plurality of per-antenna error signals, a stabilizing step size module configured for scaling the plurality of antenna error signals by a stabilizing step size for producing a plurality of scaled error signals, a combiner configured for combining each of the constituent signals with its corresponding scaled error signal to produce a plurality of interference-cancelled constituents, a resolving module configured for resolving each of the interference-cancelled constituent signals onto a signal basis for a plurality of transmit sources to produce the interference-cancelled input symbol decisions, and a mixed-decision module configured for processing the interference-cancelled symbol decisions to produce the updated symbol decisions.

Embodiments of the invention may be employed in any receiver configured to support the standard offered by the 3^(rd)-Generation Partnership Project 2 (3GPP2) consortium and embodied in a set of documents, including “TR-45.5 Physical Layer Standard for cdma2000 Spread Spectrum Systems,” “C.S0005-A Upper Layer (Layer 3) Signaling Standard for cdma2000Spread Spectrum Systems,” and “C.S0024 CDMA2000 High Rate Packet Data Air Interface Specification” (i.e., the CDMA2000 standard).

Receivers and cancellation systems described herein may be employed in subscriber-side devices (e.g., cellular handsets, wireless modems, and consumer premises equipment) and/or server-side devices (e.g., cellular base stations, wireless access points, wireless routers, wireless relays, and repeaters). Chipsets for subscriber-side and/or server-side devices may be configured to perform at least some of the receiver and/or cancellation functionality of the embodiments described herein.

Various functional elements, separately or in combination as depicted in the figures, may take the form of a microprocessor, digital signal processor, application specific integrated circuit, field programmable gate array, or other logic circuitry programmed or otherwise configured to operate as described herein. Accordingly, embodiments may take the form of programmable features executed by a common processor or a discrete hardware unit.

These and other embodiments of the invention are described with respect to the figures and the following description of the preferred embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments according to the present invention are understood with reference to the following figures.

FIG. 1 is a general schematic illustrating an iterative interference canceller for multiple receive antennas.

FIG. 2 is a block diagram illustrating a per-antenna front-end RAKE and combiner.

FIG. 3 is a block diagram illustrating a per base-station front-end combiner configured for combining like base-station signals across antennas, a de-spreading module, and an initial symbol decision module.

FIG. 4 is a general schematic of an ICU configured to process signals from multiple receive antennas.

FIG. 5 a is a per-antenna block diagram illustrating part of an interference-cancellation unit that synthesizes constituent finger signals.

FIG. 5 b is a per-antenna block diagram illustrating part of an interference-cancellation unit that synthesizes constituent subchannel signals.

FIG. 6 is a block diagram of a subtractive canceller in which cancellation is performed prior to signal despreading.

FIG. 7 a is a block diagram illustrating per-antenna RAKE processing and combining on interference-cancelled finger signals.

FIG. 7 b is a block diagram illustrating per-antenna RAKE processing and combining on interference-cancelled subchannel constituent signals.

FIG. 8 is a block diagram illustrating antenna combining, de-spreading, and symbol estimation in an ICU.

FIG. 9 a is a block diagram illustrating an ICU wherein subtractive cancellation is performed after signal de-spreading.

FIG. 9 b shows an alternative embodiment of an ICU configured for performing subtractive cancellation after signal de-spreading.

FIG. 9 c shows another embodiment of an ICU.

FIG. 10 is a block diagram of an ICU configured for an explicit implementation.

FIG. 11 a is a block diagram illustrating a method for evaluating a stabilizing step size implicitly in hardware.

Various functional elements or steps, separately or in combination, depicted in the figures may take the form of a microprocessor, digital signal processor, application specific integrated circuit, field programmable gate array, or other logic circuitry programmed or otherwise configured to operate as described herein. Accordingly, embodiments may take the form of programmable features executed by a common processor or discrete hardware unit.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.

The following formula represents an analog baseband signal received from multiple base stations by antenna a of a receiver, $\begin{matrix} {{{y_{a}(t)} = {{\sum\limits_{s = 1}^{B}{\sum\limits_{l = 1}^{L_{a,s}}{\alpha_{a,s,l}{\sum\limits_{k = 1}^{K_{s}}{b_{s,k}{u_{s,k}\left( {t - \tau_{a,s,l}} \right)}}}}}} + {w_{a}(t)}}},{t \in \left( {0,T} \right)},} & {{Equation}\quad 1} \end{matrix}$ with the following definitions

-   -   a represents an a^(th) antenna of a mobile and ranges from 1 to         A;     -   (0,T) is a symbol interval;     -   B is a number of modeled base stations, which are indexed by         subscript s, which ranges from 1 to B. The term “base station”         may be used herein to convey cells or sectors;     -   L_(a,s) is the number of resolvable (or modeled) paths from base         station s to antenna a of the mobile, and is indexed from 1 to         L_(a,s);     -   α_(a,s,l) and τ_(a,s,l) are, respectively, the complex gain and         delay associated with an     -   l^(th) path from base station s to antenna a of the mobile;     -   K_(s) represents a number of active subchannels in base station         s that employ code-division multiplexing to share the channel.         The subchannels are indexed from 1 to K_(s);     -   u_(s,k)(t) is a code waveform (e.g., spreading waveform) used to         carry a k^(th) subchannel's symbol for an s^(th) base station         (e.g., a chip waveform modulated by a subchannel-specific Walsh         code and covered with a base-station specific PN cover);     -   b_(s,k) is a complex symbol being transmitted for the k^(th)         subchannel of base station s; and     -   w_(a) (t) denotes zero-mean complex additive noise on the a^(th)         antenna. The term w_(a) (t) may include thermal noise and any         interference whose structure is not explicitly modeled (e.g.,         inter-channel interference from unmodeled base stations, and/or         intra-channel interference from unmodeled paths).

FIG. 1 illustrates an iterative interference canceller in accordance with one embodiment of the invention. Received signals from each of a plurality of antennas 100.1-100. A are processed by corresponding RAKE receivers 101.1-101.A. Each RAKE receiver 101.1-101.A may comprise a maximal ratio combiner (not shown) .

Multipath components received by each RAKE receiver 101.1-101.A are separated with respect to their originating base stations and processed by a plurality B of constituent-signal analyzers 102.1-102.B. Each constituent-signal analyzer 102.1-102.B comprises a combiner, a despreader, and a symbol estimator, such as combiner 111.s, despreader 112.s, and symbol estimator 113.s in constituent-signal analyzer 102.s.

Signals received from different antennas 100.1- 100.A corresponding to an s^(th) originating base station are synchronized, and then combined (e.g., maximal ratio combined) by combiner 111.s to produce an s^(th) diversity-combined signal. The despreader 112.s resolves the s^(th) diversity-combined signal onto subchannel code waveforms, and the symbol estimator 113.s produces initial symbol estimates, which are input to a first interference cancellation unit (ICU) 104.1 of a sequence of ICUs 104.1-104.M.

ICU 104.1 mitigates intra-channel and/or inter-channel interference in the estimates in order to produce improved symbol estimates. Successive use of ICUs 104.2-104.M further improves the symbol estimates. The ICUs 104.1-104.M may comprise distinct units, or a single unit configured to perform each iteration.

FIG. 2 is a block diagram of a Rake receiver, such as RAKE receiver 101.a. One of a plurality of processors 201.1-201.B is associated with each base station. For example, processor 201.s associated with an s^(th) base station comprises a plurality L of time-advance modules 202.1-202.L configured to advance the received signal in accordance with L multipath time offsets. Weighting modules 203.1-203.L provide corresponding maximal-ratio combining weights α_(a,s,l) to the time-advanced signals, and a combiner 204 combines the weighted signals to produce an output for the a^(th) antenna $\begin{matrix} {{{{y_{a,s}^{mrc}(t)} = {\frac{1}{\sqrt{E_{s}}}{\sum\limits_{l = 1}^{L_{a,s}}{\alpha_{a,s,l}^{*}{y_{a}\left( {t + \tau_{a,s,l}} \right)}}}}},{where}}{E_{s} = {\sum\limits_{l = 1}^{L_{a,s}}{{\alpha_{a,s,l}}^{2}.}}}} & {{Equation}\quad 2} \end{matrix}$

FIG. 3 is a block diagram of an exemplary constituent-signal analyzer, such as constituent-signal analyzer 102.s shown in FIG. 1. A combiner 301 for a given base station sums the signals over the plurality A of antennas to produce a combined signal for base station s over all paths and all antennas $\begin{matrix} {{y_{s}^{mrc}(t)} = {\sum\limits_{a = 1}^{A}{{y_{a,s}^{mrc}(t)}.}}} & {{Equation}\quad 3} \end{matrix}$ The combined signal is resolved onto subchannel code waveforms by a plurality K of despreading modules, comprising K code-waveform multipliers 302.1-302.K and integrators 303.1-303.K, to give $\begin{matrix} {q_{s,k} \equiv {\frac{1}{E_{s}}{\int_{0}^{T}{{u_{s,k}^{*}(t)}{y_{s}^{mrc}(t)}{\mathbb{d}t}}}}} & {{Equation}\quad 4} \end{matrix}$ as a RAKE/Combine/De-Spread output for the k^(th) subchannel of base station s. A column vector of these outputs is denoted q _(s) =[q _(s,1) q _(s,2) . . . q _(s,K) _(s) ]^(T)  Equation 5 for base station s, where the superscript T denotes matrix transpose. Each q_(s,k) is processed by one of a plurality of symbol estimators 304.1-304.K to produce {circumflex over (b)}_(s,k) ^([0]=Estimate Symbol{) q _(s,k)},  Equation 6 where the superscript [0] indicates the initial symbol estimate produced by front-end processing. Symbol estimators 304.1-304.K may include mixed-decision symbol estimators described in U.S. Pat. Appl. Ser. No. 60/736,204, or other types of symbol estimators. An output vector of symbol estimates for base station s may be formed as {circumflex over (b)} _(s) ^([0])=[{circumflex over (b)}_(s,1) ^([0) ]{circumflex over (b)} _(s,2) ^([0) ] . . . {circumflex over (b)} _(s,K) ^([0])]^(T).

It should be appreciated that one or more of the functions described with respect to FIG. 3 may be implemented on discrete-time sequences generated by sampling (or filtering and sampling) continuous waveforms. More specifically, time advances (or delays) of waveforms become shifts by an integer number of samples in discrete-time sequences, and integration becomes summation.

FIG. 4 is a flow chart illustrating a functional embodiment of an ICU, such as one of the ICUs 104.1-104.M. Similar ICU embodiments are described in U.S. Pat. Appl. Ser. No. 60/736,204 for a system with a single receive antenna. However, the embodiment shown in FIG. 4 conditions a plurality of received antenna signals for a parallel bank of ICUs and conditions ICU outputs prior to making symbol estimates. Symbol estimates for a plurality of sources are input to the ICU and weighted 401.1-401.B according to perceived merits of the symbol estimates. Any of the soft-weighting methods described in U.S. Pat. Appl. Ser. No. 60/736,204 may be employed. The weighting of a k^(th) subchannel of base station s is expressed by γ_(s,k) ^([i]){circumflex over (b)}_(s,k) ^([i])  Equation 7 where {circumflex over (b)}_(s,k) ^([i])is the input symbol estimate, γ_(s,k) ^([i])is its weighting factor, and superscript [i] represents the output of the i^(th) ICU. The superscript [0] represents the output of front-end processing prior to the first ICU. The symbol estimates may be multiplexed (e.g., concatenated) 402 into a single column vector ${\underset{\_}{\hat{b}}}^{\lbrack i\rbrack} = \begin{bmatrix} \left( {\underset{\_}{\hat{b}}}_{1}^{\lbrack i\rbrack} \right)^{T} & \left( {\underset{\_}{\hat{b}}}_{2}^{\lbrack i\rbrack} \right)^{T} & \cdots & \left( {\underset{\_}{\hat{b}}}_{B}^{\lbrack i\rbrack} \right)^{T} \end{bmatrix}^{T}$ such that the weighted symbol estimates are given by Γ^([i]) {circumflex over (b)} ^([i]), where Γ^([i])is a diagonal matrix containing the weighting factors along its main diagonal. The weighted symbol estimates are processed by a synthesizer used to synthesize 403.1-403.A constituent signals for each antenna. For each antenna, a synthesized signal represents a noise-free signal that would have been observed at antennas a with the base stations transmitting the weighted symbol estimates Γ^([i]) {circumflex over (b)} ^([i])over the multipath channels between base stations 1 through B and the mobile receiver

For each antenna, a subtraction module performs interference cancellation 404.1-404.A on the constituent signals to reduce the amount of intra-channel and inter-channel interference. The interference-cancelled constituents are processed via per-antenna RAKE processing and combining 405.1-405.A to produce combined signals. The combined signals are organized by base station, combined across antennas, resolved onto the subchannel code waveforms, and processed by symbol estimators 406.1-406.B. The terms {circumflex over (b)}_(s,k) ^([i+1]) denote the estimated symbol for the k^(th) subchannel of base station s after processing by the (i+1)^(th) ICU.

FIG. 5 a illustrates an apparatus configured for generating multipath finger constituent signals and FIG. 5 b shows an apparatus configured for generating subchannel constituents. A plurality of processors 501.1-501.B is configured for processing signals received from each base station. For an s^(th) base station, a plurality K_(s) of multipliers 502.1-502.K scales each code waveform with a corresponding weighted symbol estimate to produce a plurality of estimated transmit signals, which are combined by combiner 503 to produce a superposition signal $\begin{matrix} {\sum\limits_{k = 0}^{K_{s} - 1}{\gamma_{s,k}^{\lbrack i\rbrack}{\hat{b}}_{s,k}^{\lbrack i\rbrack}{{u_{s,k}(t)}.}}} & {{Equation}\quad 8} \end{matrix}$

A multipath channel emulator comprising path-delay modules 504.1-504.L and path-gain modules 505.1-505.L produces multipath finger constituent signals expressed by $\begin{matrix} {{{{\overset{\sim}{y}}_{a,s,l}^{\lbrack i\rbrack}(t)} \equiv {\alpha_{a,s,l}{\sum\limits_{k = 0}^{K_{s} - 1}{\gamma_{s,k}^{\lbrack i\rbrack}{\hat{b}}_{s,k}^{\lbrack i\rbrack}{u_{s,k}\left( {t - \tau_{a,s,l}} \right)}}}}},} & {{Equation}\quad 9} \end{matrix}$ where {tilde over (y)}_(a,s,l) ^([i]) (t) is the l^(th) finger constituent for the channel between base station s and antenna a.

FIG. 5 b shows an apparatus configured for generating subchannel constituents. For a particular antenna a, a processor 510.1-510.B is configured for processing signals received from each base station. Within each base station processor 510.1-510.B, a plurality of processors 511.1-511.K are configured for processing each subchannel. Each subchannel processor 511.1-511.K comprises a multiplier 512 that scales a k^(th) code waveform with a corresponding weighted symbol estimate to produce an estimated transmit signal, which is processed by a multipath channel emulator comprising path-delay modules 513.1-513.L path-gain modules 514.1-514.L, and a combiner of the multiple paths 515. to produce $\begin{matrix} {{{{\overset{\sim}{y}}_{a,s,k}^{\lbrack i\rbrack}(t)} \equiv {\gamma_{s,k}^{\lbrack i\rbrack}{\hat{b}}_{s,k}^{\lbrack i\rbrack}{\sum\limits_{l = 1}^{L_{a,s}}{\alpha_{a,s,l}{u_{s,k}\left( {t - \tau_{a,s,l}} \right)}}}}},} & {{Equation}\quad 10} \end{matrix}$ which is the synthesized constituent signal for the k^(th) subchannel of base station s at the a^(th) antenna of the mobile. Note that while Equation 9 and Equation 10 both show a signal with a three-parameter subscript for their left-hand sides, they are different signals; the subscript l (as in Equation 9) will be reserved for a finger constituent and the subscript k (as in Equation 10) will be reserved for a subchannel constituent.

FIG. 6 is a block diagram showing an apparatus configured for performing interference cancellation on synthesized constituent signals for each antenna . Since, the constituent signals for each antenna a may comprise multipath finger constituents or subchannel constituents. The index jε{1, . . ., J_(a,s)} is introduced, where $J_{a,s} = \left\{ {\begin{matrix} L_{a,s} & {{for}\quad{finger}\quad{constituets}} \\ K_{s} & {{for}\quad{subchannel}\quad{consituets}} \end{matrix}.} \right.$ A first processor 600 comprises a plurality B of subtractive cancellers 601.1-601.B configured for processing constituent signals relative to each of a plurality B of base stations.

Canceller 601.s is illustrated with details that may be common to the other cancellers 601.1-601.B. A combiner 602 sums the constituent signals to produce a synthesized received signal associated with base station s, ${{\overset{\sim}{y}}_{a,s}^{\lbrack i\rbrack} \equiv {\sum\limits_{j = 1}^{J_{a,s}}{\overset{\sim}{y}}_{a,s,j}^{\lbrack i\rbrack}}},$ where {tilde over (y)}_(a,s,j) ^([i]) is the j^(th) constituent finger or subchannel signal on the a^(th) antenna for base station s.

A second processor 610 comprises a combiner 611 configured for combining the synthesized received signals across base stations to produce a combined synthesized receive signal ${{\overset{\sim}{y}}_{a}^{\lbrack i\rbrack}(t)} = {\sum\limits_{s = 1}^{B}{{\overset{\sim}{y}}_{a,t}^{\lbrack i\rbrack}(t)}}$ corresponding to the a^(th) antenna. A subtraction module 612 produces a signal from the difference between the combined synthesized receive signal and the actual received signal to create a residual signal y_(a)(t)−{tilde over (y)}_(a) ^([i])(t) . A step size scaling module 613 scales the residual signal with a complex stabilizing step size μ_(a) ^([i]) 613 to give a scaled residual signal μ_(a) ^([i])(y_(a)(t)−{tilde over (y)}_(a) ^([i])(t)). The scaled residual signal is returned to the cancellers 601.1-601.B in the first processor 601 where combiners, such as combiners 603.1-603.J in the canceller 601.s add the scaled residual signal to the constituent signals to produce a set of interference-cancelled constituents expressed by z _(a,s,j) ^([i])(t)≡{tilde over (y)} _(a,s,j) ^([i])(t)+μ_(a) ^([i]() y _(a)(t)−{tilde over (y)} _(a) ^([i])(t)),   Equation 11 for an interference-cancelled j^(th) constituent finger or subchannel signal on the a^(th) antenna for base station s. The term μ_({dot over (a)}) ^([i]) may be evaluated as shown in U.S. patent application Ser. No. 11/451,932, which describes calculating a step size for a single receive antenna. In one embodiment the same step size may be employed for all antennas, meaning μ_(a) ^([i])=μ^([i]) for all a.

FIG. 7 a is a block diagram of an apparatus configured for performing RAKE processing and combining 405.1-405.A on the interference-cancelled constituent signals for each antenna. Each of a plurality B of Rake processors 701.1-701.B is configured for processing finger constituents for each base station. Processor 701.s shows components that are common to all of the processors 701.1-701.B. A plurality L of time-advance modules 702.1-702.L advance finger signal inputs by multipath time shifts. Scaling modules 703.1-703.L scale the time-shifted inputs by complex channel gains, and the resulting scaled signals are summed 704 to yield the maximal ratio combined (MRC) output $\begin{matrix} {{z_{a,s}^{{mrc},{\lbrack i\rbrack}}(t)} \equiv {\frac{1}{\sqrt{E_{s}}}{\sum\limits_{l = 1}^{L_{a,s}}{\alpha_{a,s,l}^{*}{z_{a,s,l}\left( {t + \tau_{a,s,l}} \right)}}}}} & {{Equation}\quad 12} \end{matrix}$ associated with antenna a and base station s.

In FIG. 7 b, Rake processors 710.1-710.B may each comprise a combiner 711 configured for summing the subchannel constituent signals, a plurality L of time-advance modules 712.1-712.L configured for advancing the sum by multipath time offsets, scaling modules 713.1-713.L configured for scaling the sum by corresponding multipath channel gains, and a combiner 714 configured for summing the scaled signals to produce the MRC output $\begin{matrix} {{a_{a,s}^{{mrc},{\lbrack i\rbrack}}(t)} \equiv {\frac{1}{\sqrt{E_{s}}}{\sum\limits_{l = 1}^{L_{a,s}}{\alpha_{a,s,l}^{*}{\sum\limits_{k = 1}^{K_{s}}{z_{a,s,k}\left( {t + \tau_{a,s,l}} \right)}}}}}} & {{Equation}\quad 13} \end{matrix}$ associated with antenna a and base station s.

FIG. 8 shows an apparatus configured for performing the steps 406.1-406.B shown in FIG. 4 to produce the updated symbol estimates Each of a plurality B of processors 801.1-801.B is configured for processing the MRC outputs. Processor 801.s shows details that are common to all of the processors 801.1-801.B.

For each base station, the MRC signals for all antennas are summed 802 to form the overall MRC signal $\begin{matrix} {{{z_{s}^{{mrc},{\lbrack i\rbrack}}(t)} \equiv {\sum\limits_{a = 1}^{A}{z_{a,s}^{{mrc},{\lbrack i\rbrack}}(t)}}},} & {{Equation}\quad 14} \end{matrix}$ which is resolved by code multipliers 803.1-803.K and integrators 804.1-804.K onto the subchannel code waveforms. Symbol estimators 805.1-805.K are employed for producing symbol estimates, such as mixed-decision symbol estimates as described in U.S. patent application Ser. No. 11/451,932.

Because of the linear nature of many of the ICU components, alternative embodiments of the invention may comprise similar components employed in a different order of operation without affecting the overall functionality. In one embodiment, antenna combining and de-spreading may be performed prior to interference cancellation, such as illustrated in FIG. 9.

FIG. 9 a illustrates a plurality of processing blocks 901.1-901.B configured for processing constituent finger or sub-channel signals received from each of a plurality of base stations. The constituent signals are subtracted from the received signal on antenna a by a subtraction module 902 to produce a residual signal. The residual signal is processed by a RAKE 903.1-903.L and maximal ratio combiner (comprising weighting modules 904.1-904.L and an adder 905) to produce an error signal e_(a,s) ^([i])(t) for antenna a and base station s.

In FIG. 9 b, each of a plurality of processing blocks 911.1-911.B is configured to combine the error signals produced by the apparatus shown in FIG. 9 a. In processing block 911.s, a combiner 912 combines the error signals corresponding to the s^(th) base station across the antennas to produce e_(s) ^([i])(t), the error signal for base station s. Despreaders comprising code multipliers 913.1-913.K and integrators 914.1-914.K resolve the error signal e_(s) ^([i])(t) onto code waveforms of subchannels associated with the s^(th) base station.

The output for the k^(th) subchannel of base station s is ∫₀^(τ)u_(k)^(*)(t)e_(s)^([i])(t)𝕕t, which is equal to q_(s,k)−{tilde over (q)}_(s,k) ^([i]), where q_(s,k) is defined in Equation 4, and ${\overset{\sim}{q}}_{s,k}^{\lbrack i\rbrack} = {\frac{1}{E_{s}}{\sum\limits_{a = 1}^{A}{\int_{0}^{T}{{u_{k}^{*}(t)}{\sum\limits_{l = 1}^{L_{a,s}}{\alpha_{a,s,l}^{*}{\sum\limits_{j = 1}^{J_{a,s}}{{{\overset{\sim}{y}}_{a,s,j}^{\lbrack i\rbrack}\left( {t + \tau_{a,s,l}} \right)}{{\mathbb{d}t}.}}}}}}}}}$ For each base station, the values q_(s,k) and {tilde over (q)}_(s,k) ^([i]) may be stacked into a vector over the subchannel index k to form q _(s)−{tilde over (q)} ^([i]). These likewise may be stacked into a single vector over the base station index s to give q−{tilde over (q)} ^([i]). This quantity may also be determined explicitly using a matrix multiplication.

FIG. 9 c illustrates a final step of an interference-cancellation process. A stabilizing step size module 921 scales the difference q−{tilde over (q)} ^([i]) by a stabilizing step size μ^([i]) , and the result is added 923 to the weighted input vector Γ^([i]){circumflex over (b)}^([i]) after being multiplied 922 by implementation matrix F to produce a vector sum. The value of the implementation matrix F depends on whether finger or subchannel constituents are used. A symbol estimator 924 produces symbol estimates for each element of the vector sum.

An explicit implementation of an ICU is illustrated in FIG. 10. The input symbol estimates are weighted 1000 and multiplied by a matrix R 1001. The resulting product is subtracted 1002 from front-end vector q and scaled with the stabilizing step size μ^([i]) by a stabilizing step size module 1003. The resulting scaled signal is summed 1004 with weighted symbol estimates multiplied 1005 by the implementation matrix F to produce a vector sum. A symbol estimator 1006 makes decisions on the vector sum.

Matrix R is the correlation matrix for all subchannels at the receiver after combining across antennas. It may be evaluated by $\begin{matrix} {R = {\sum\limits_{a = 1}^{A}R_{a}}} & {{Equation}\quad 15} \end{matrix}$ where R_(a) is the correlation matrix for all subchannels at the a^(th) antenna, and it may be determined as described in U.S. patent application Ser. No. 11/451,932 for a single antenna receiver. The matrix F is either the identity matrix when subchannel constituent signals are employed or the correlation matrix for all subchannels at the transmitter(s) when finger constituent signals are used, such as described in U.S. patent application Ser. No. 11/451,932. This functionality may be represented by the one-step matrix-update equation {circumflex over (b)} ^([i+1])=Ψ(μ^([i])( q−RΓ ^([i]) {circumflex over (b)} ^([i]))+FΓ^([i]) {circumflex over (b)} ^([i])),  Equation 16 where Ψ(•) represents any function that returns a symbol estimate for each element of its argument (including, for example, any of the mixed-decision symbol estimation functions described in U.S. patent application Ser. No. 11/451,932) and all other quantities as previously described.

The stabilizing step size μ^([i]) may take any of the forms described in U.S. patent application Ser. No. 11/451,932 that depend on the correlation matrix R, the implementation matrix F, and the weighting matrix Γ^([i]). Two of these forms of μ^([i]) are implicitly calculable, such as described in U.S. patent application Ser. No. 11/451,932 for a single receive antenna.

FIG. 11 a illustrates a method for calculating a stabilizing step size when multiple receive antennas are employed. Preliminary processing 1101.1-1101.A for each antenna provides for RAKE processing, combining, and de-spreading 1102 on the received signal, and RAKE processing, combining, and de-spreading 1103 on the synthesized received signal and produces 1113 a difference signal. In an alternative embodiment for the preliminary processing 1101.1-1101.A shown in FIG. 11 b, a difference signal calculated from the received signal and the synthesized received signal undergoes RAKE processing, combining, and de-spreading 1110.a

The difference-signal vector corresponding to the a^(th) antenna is denoted by β _(a) ^([i]). The difference-signal vectors for all of the antennas are summed to produce a sum vector β ^([i]). A sum of the square magnitudes 1105 of the elements of the sum vector (i.e., ∥β ^([i])∥²) provides a numerator of a ratio from which the stabilizing step size is evaluated. The elements of β ^([i]) are used as transmit symbols in order to synthesize 1106 received signals for each antenna. Synthesized received signals are expressed as $\sum\limits_{s = 1}^{B}{\sum\limits_{l = 1}^{L_{a,s}}{\alpha_{a,s,l}{\sum\limits_{k = 1}^{K_{s}}{\beta_{s,k}^{\lbrack i\rbrack}{u_{s,k}\left( {t - \tau_{a,s,l}} \right)}}}}}$ for antenna a, where β_(s,k) ^([i]) is the k^(th) element of β ^([i]). An integral of the square magnitude of each synthesized signal is calculated 1108.1-1108.A and summed 1109 to produce the denominator of the ratio. The ratio of the numerator and the denominator gives the first version of the step size μ^([i]).

FIG. 11 c shows an implicit evaluation of the step size in accordance with another embodiment of the invention. The denominator of the ratio used to calculate the stabilizing step size is determined by weighting 1150 the vector β ^([i]) by soft weights (such as contained in the diagonal matrix Γ^([i])). The elements of the resulting weighted vector are used to produce 1151 synthesized received signals for all of the antennas. Integrals of the square magnitudes of the synthesized received signals are calculated 1152.1-1152.A and summed 1153 to provide the denominator.

The corresponding numerator is calculated by scaling 1154 symbol estimates produced at the i^(th) iteration by the square of the soft weights (as contained in the diagonal matrix (Γ^([i]))²). The resulting scaled vector is used to synthesize 1155 received signals for all of the antennas. The synthesized signals and the received signals are processed by a parallel bank of processors 1156.1-1156.A, each corresponding to a particular antenna. The functionality of each processor 1156.1-1156.A may be equivalent to the processor 1101.a shown in FIG. 11 a. The vector outputs of the processors 1156.1-1156.A are summed 1157, and the numerator is produced from the inner product 1158 of the sum vector with the weighted vector.

Explicit versions of both versions of the step size are given, respectively, by $\begin{matrix} {\mu^{\lbrack i\rbrack} = \frac{\left( {\underset{\_}{q} - {{RF}\quad\Gamma^{\lbrack i\rbrack}{\underset{\_}{\hat{b}}}^{\lbrack i\rbrack}}} \right)^{H}\left( {\underset{\_}{q} - {{RF}\quad\Gamma^{\lbrack i\rbrack}{\underset{\_}{\hat{b}}}^{\lbrack i\rbrack}}} \right)}{\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\underset{\_}{\hat{b}}}^{\lbrack i\rbrack}}} \right)^{H}{R\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\underset{\_}{\hat{b}}}^{\lbrack i\rbrack}}} \right)}}} & {{Equation}\quad 17} \\ {and} & \quad \\ {{\mu^{\lbrack i\rbrack} = \frac{\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}F\quad\Gamma^{\lbrack i\rbrack}{\underset{\_}{\hat{b}}}^{\lbrack i\rbrack}{\Gamma^{\lbrack i\rbrack}\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\underset{\_}{\hat{b}}}^{\lbrack i\rbrack}}} \right)}}} \right.}{\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\underset{\_}{\hat{b}}}^{\lbrack i\rbrack}}} \right)^{H}\left( \Gamma^{\lbrack i\rbrack} \right)^{H}R\quad{\Gamma^{\lbrack i\rbrack}\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\underset{\_}{\hat{b}}}^{\lbrack i\rbrack}}} \right)}}},} & {{Equation}\quad 18} \end{matrix}$ wherein all quantities shown are as previously defined.

Another form of the step size in U.S. patent application Ser. No. 11/451,932 depends only on the path gains, and may be generalized to multiple receive antennas according to $\begin{matrix} {{\mu^{\lbrack i\rbrack} = {\mu = {\max\left\{ {C,\frac{\max\limits_{s,l}{\sum\limits_{a = 1}^{A}{\alpha_{a,s,l}}^{p}}}{\sum\limits_{a = 1}^{A}{\sum\limits_{s = 1}^{B}{\sum\limits_{l = 1}^{L_{a,s}}{\alpha_{a,s,l}}^{p}}}}} \right\}}}},} & {{Equation}\quad 19} \end{matrix}$ where μ^([i]) is fixed for every ICU and C and p are non-negative constants.

Embodiments of the invention are also applicable to the reverse-link, such as described for the single receive antenna in U.S. patent application Ser. No. 11/451,932. The primary difference (when compared to the forward-link) is that subchannels from distinct transmitters experience different multipath channels and, thus, the receiver must accommodate each subchannel with its own RAKE/Combiner/De-Spreader, and channel emulation must take into account that, in general, every subchannel sees its own channel. Such modifications are apparent to those knowledgeable in the art.

Embodiments of the invention may be realized in hardware or software and there are several modifications that can be made to the order of operations and structural flow of the processing. Those skilled in the art should recognize that method and apparatus embodiments described herein may be implemented in a variety of ways, including implementations in hardware, software, firmware, or various combinations thereof. Examples of such hardware may include Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), general-purpose processors, Digital Signal Processors (DSPs), and/or other circuitry. Software and/or firmware implementations of the invention may be implemented via any combination of programming languages, including Java, C, C++, Matlab™, Verilog, VHDL, and/or processor specific machine and assembly languages.

Computer programs (i.e., software and/or firmware) implementing the method of this invention may be distributed to users on a distribution medium such as a SIM card, a USB memory interface, or other computer-readable memory adapted for interfacing with a consumer wireless terminal. Similarly, computer programs may be distributed to users via wired or wireless network interfaces. From there, they will often be copied to a hard disk or a similar intermediate storage medium. When the programs are to be run, they may be loaded either from their distribution medium or their intermediate storage medium into the execution memory of a wireless terminal, configuring an onboard digital computer system (e.g. a microprocessor) to act in accordance with the method of this invention. All these operations are well known to those skilled in the art of computer systems.

The functions of the various elements shown in the drawings, including functional blocks labeled as “modules” may be provided through the use of dedicated hardware, as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be performed by a single dedicated processor, by a shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” or “module” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor DSP hardware, read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and/or custom, may also be included. Similarly, the function of any component or device described herein may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.

The method and system embodiments described herein merely illustrate particular embodiments of the invention. It should be appreciated that those skilled in the art will be able to devise various arrangements, which, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. Furthermore, all examples and conditional language recited herein are intended to be only for pedagogical purposes to aid the reader in understanding the principles of the invention. This disclosure and its associated references are to be construed as applying without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure. 

1. An interference canceller configured for canceling at least one of inter-cell and intra-cell interference in multiple-access communication signals received from a plurality of antennas, the canceller comprising: a front-end module configured for generating initial symbol estimates to be coupled to a sequence of interference-cancellation units; the front-end module comprising: a combiner configured for combining the received signals from each of a plurality of transmission sources across the plurality of antennas for producing combined signals, a despreader configured for resolving the combined signals onto a signal basis for the plurality of transmission sources to produce soft symbol estimates from the plurality of transmission sources, and a symbol estimator configured for performing a mixed decision on each of the soft symbol estimates to generate the initial symbol estimates.
 2. The interference canceller recited in claim 1, further configured for canceling interference from each of a plurality of base stations.
 3. The interference canceller recited in claim 1, wherein each of the sequence of interference-cancellation units is configured for processing signals received by each of the plurality of antennas, whereby constituent signals for each of the plurality of antennas are added back to corresponding scaled error signals to produce error signals for the plurality of transmission sources, followed by resolving the error signals for the plurality of transmission sources across the plurality of antennas onto the signal basis for the plurality of transmission sources.
 4. The interference canceller recited in claim 3, wherein the constituent signals comprise Rake-finger signals.
 5. The interference canceller recited in claim 4, further comprising: a synthesizer configured for synthesizing estimated Rake finger signals for each antenna that would be received if weighted symbol decisions were employed at the plurality of transmission sources, and a subtraction module configured for performing per-antenna subtraction of a sum of synthesized Rake finger signals from that antenna's received signal to produce an error signal.
 6. The canceller recited in claim 1, further comprising: a despreader configured to resolve each of a plurality of error signals corresponding to each of a plurality of antennas onto a signal basis for the plurality of transmission sources for producing a plurality of resolved error signals, a first combiner configured for combining the resolved error signals across antennas for producing a combined signal, a stabilizing step-size module configured to scale the combined signal by a stabilizing step size for producing a scaled signal, and a second combiner configured for combining the combined signal with a weighted input vector.
 7. The interference canceller recited in claim 3, wherein the constituent signals comprise received signals associated with each of the plurality of transmission sources.
 8. The canceller recited in claim 1, configured to reside in at least one of a set of devices, the set comprising a subscriber-side device configured for processing forward-link signals and a server-side device for processing reverse-link signals.
 9. An interference cancellation method configured for canceling at least one of inter-cell and intra-cell interference in multiple-access communication signals received from a plurality of antennas, the method comprising: providing for generating initial symbol estimates for processing by iterative interference cancellation; the step of providing for generating further comprising: providing for combining the received signals from each of a plurality of transmission sources across the plurality of antennas for producing combined signals, providing for resolving the combined signals onto a signal basis for the plurality of transmission sources to produce soft symbol estimates from the plurality of transmission sources, and providing for performing a mixed decision on each of the soft symbol estimates to generate the initial symbol estimates.
 10. The method recited in claim 9, further configured for canceling interference from each of a plurality of base stations.
 11. The method recited in claim 9, wherein processing by iterative interference cancellation is configured for processing signals received by each of the plurality of antennas, whereby constituent signals for each of the plurality of antennas are added back to corresponding scaled error signals to produce error signals for the plurality of transmission sources, followed by resolving the error signals for the plurality of transmission sources across the plurality of antennas onto the signal basis for the plurality of transmission sources.
 12. The method recited in claim 11, wherein the constituent signals comprise Rake-finger signals.
 13. The method recited in claim 12, further comprising: providing for synthesizing estimated Rake finger signals for each antenna that would be received if weighted symbol decisions were employed at the plurality of transmission sources, and providing for performing per-antenna subtraction of a sum of synthesized Rake finger signals from that antenna's received signal to produce an error signal,
 14. The method recited in claim 9, further comprising: providing for resolving each of a plurality of error signals corresponding to each of a plurality of antennas onto a signal basis for the plurality of transmission sources for producing a plurality of resolved error signals, providing for combining the resolved error signals across antennas for producing a combined signal, providing for scaling the combined signal by a stabilizing step size for producing a scaled signal, and providing for combining the combined signal with a weighted input vector.
 15. The method recited in claim 11, wherein the constituent signals comprise received signals associated with each of the plurality of transmission sources.
 16. A subscriber-side device configured for performing the method recited in claim
 9. 17. A server-side device configured for performing the method recited in claim
 9. 18. An interference-cancellation system configured for canceling at least one of inter-cell and intra-cell interference in multiple-access communication signals received from a plurality of antennas, the system comprising: a front-end processing means configured for generating initial symbol estimates to be coupled to an iterative interference-cancellation means; the front-end module comprising: a combining means configured for combining the received signals from each of a plurality of transmission sources across the plurality of antennas for producing combined signals, a despreading means configured for resolving the combined signals onto a signal basis for the plurality of transmission sources to produce soft symbol estimates from the plurality of transmission sources, and a symbol estimation means configured for performing a mixed decision on each of the soft symbol estimates to generate the initial symbol estimates.
 19. The interference-cancellation system recited in claim 18, further configured for canceling interference from each of a plurality of base stations.
 20. The interference-cancellation system in claim 18, wherein the iterative interference-cancellation means is configured for processing signals received by each of the plurality of antennas, whereby constituent signals for each of the plurality of antennas are added back to corresponding scaled error signals to produce error signals for the plurality of transmission sources, followed by resolving the error signals for the plurality of transmission sources across the plurality of antennas onto the signal basis for the plurality of transmission sources.
 21. The interference-cancellation system recited in claim 20, wherein the constituent signals comprise Rake-finger signals.
 22. The interference-cancellation system recited in claim 21, further comprising: a synthesis means configured for synthesizing estimated Rake finger signals for each antenna that would be received if weighted symbol decisions were employed at the plurality of transmission sources, and a subtraction means configured for performing per-antenna subtraction of a sum of synthesized Rake finger signals from that antenna's received signal to produce an error signal.
 23. The interference-cancellation system recited in claim 18, further comprising: a despreading means configured for resolving each of a plurality of error signals corresponding to each of a plurality of antennas onto a signal basis for the plurality of transmission sources for producing a plurality of resolved error signals, a first combining means configured for combining the resolved error signals across antennas for producing a combined signal, a stabilizing step-size means configured to scale the combined signal by a stabilizing step size for producing a scaled signal, and a second combining means configured for combining the combined signal with a weighted input vector.
 24. The interference-cancellation system recited in claim 20, wherein the constituent signals comprise received signals associated with each of the plurality of transmission sources.
 25. The interference-cancellation system recited in claim 18, configured to reside in at least one of a set of devices, the set comprising a subscriber-side device configured for processing forward-link signals and a server-side device for processing reverse-link signals.
 26. In an interference canceller configured for canceling at least one of inter-cell and intra-cell interference in a received signal from a plurality of antennas, a front-end module configured for generating initial symbol decisions, and a sequence of interference cancellation units for producing updated symbol decisions; each of the sequence of interference cancellation units comprising: a soft-weighting module configured to apply weights to a plurality of input symbol decisions to produce weighted symbol decisions, a synthesizer corresponding to each antenna of the plurality of antennas and configured for synthesizing constituent signals, a subtractive canceller configured to perform a per-antenna subtraction of the synthesized signal from the received signal to produce a plurality of per-antenna error signals, a stabilizing step size module configured for scaling the plurality of antenna error signals by a stabilizing step size for producing a plurality of scaled error signals, a combiner configured for combining each of the constituent signals with its corresponding scaled error signal to produce a plurality of interference-cancelled constituents, a resolving module configured for resolving each of the interference-cancelled constituent signals onto a signal basis for a plurality of transmit sources to produce the interference-cancelled input symbol decisions, and a mixed-decision module configured for processing the interference-cancelled symbol decisions to produce the updated symbol decisions.
 27. The interference canceller recited in claim 26, further configured for canceling interference from each of a plurality of base stations.
 28. The interference canceller recited in claim 26, wherein the soft-weighting module is further configured to employ constants whose magnitudes depend on merits of the interference-cancelled symbol decisions.
 29. The canceller recited in claim 26, whereby the stabilizing step size module is configured to produce a scalar step size that improves convergence rate for multiple iterations.
 30. The canceller recited in claim 26, wherein the stabilizing step size module is configured to produce a stabilizing step size for each antenna that is configured to improve convergence rate for multiple iterations.
 31. The canceller recited in claim 26 whereby the mixed-decision module is further configured to produce each of the updated symbol decisions, irrespective of other symbol decisions, as a hard decision that quantizes one of the interference-cancelled symbol decisions onto a nearby constellation point, or a soft decision that scales one of the interference-cancelled symbol decisions without quantizing to a constellation point.
 32. The canceller recited in claim 26, further comprising a de-bias module configured to remove bias, as computed on the interference-cancelled symbol decisions prior to producing the updated symbol decisions.
 33. The canceller recited in claim 26, configured for performing symbol-level interference cancellation using a direct implementation of a one-step matrix update equation, comprising an explicit matrix representation of a users' received correlation matrix for received signals combined across antennas, an implementation matrix, a soft-weighting matrix, a de-biasing matrix, and a scalar stabilizing step size.
 34. The canceller recited in claim 33 comprising a one-step matrix update equation given by {circumflex over (b)} ^([i+1]) =Ψ{D ^([i])(μ^([i])( q− RΓ^([i]) {circumflex over (b)} ^([i]))+FΓ ^([i]) {circumflex over (b)} ^([i]))}, wherein {circumflex over (b)} ^([i]) is a column vector of input symbol decisions of all sources after an i^(th) iteration of interference cancellation, q is a vector of the despread received signals that have been combined across antennas, μ^([i]) is a scalar stabilizing step, Γ^([i]) is a weighting matrix used for scaling the input symbol decisions, R is a correlation matrix for received signals combined across antennas that is a sum of per-antenna received-signal correlation matrices, F is an implementation matrix, D^([i]) is a de-biasing matrix, and Ψ is a mixed-decision operator that produces updated symbol decisions {circumflex over (b)} ^([i+1]).
 35. The interference canceller recited in claim 33, wherein the implementation matrix is an identity matrix or a correlation matrix for transmitted signals.
 36. The canceller recited in claim 26, configured to reside in at least one of a set of devices, the set comprising a subscriber-side device configured for processing forward-link signals and a server-side device for processing reverse-link signals.
 37. In a method for canceling at least one of inter-cell and intra-cell interference in a received signal from a plurality of antennas, the method comprising front-end processing configured for generating initial symbol decisions, and iterative interference cancellation for producing updated symbol decisions; the iterative interference cancellation comprising: providing for applying weights to a plurality of input symbol decisions to produce weighted symbol decisions, providing for synthesizing constituent signals for each of a plurality of antennas, providing for performing a per-antenna subtraction of the synthesized signal from the received signal to produce a plurality of per-antenna error signals, providing for scaling the plurality of antenna error signals by a stabilizing step size for producing a plurality of scaled error signals, providing for combining each of the constituent signals with its corresponding scaled error signal to produce a plurality of interference-cancelled constituents, providing for resolving each of the interference-cancelled constituent signals onto a signal basis for a plurality of transmit sources to produce the interference-cancelled input symbol decisions, and providing for performing mixed-decision processing of the interference-cancelled symbol decisions to produce the updated symbol decisions.
 38. The method recited in claim 37, further configured for canceling interference from each of a plurality of base stations.
 39. The method recited in claim 37, providing for applying weights is further configured to employ constants whose magnitudes depend on merits of the interference-cancelled symbol decisions.
 40. The method recited in claim 37, whereby providing for scaling is configured to produce a scalar step size that improves convergence rate for multiple iterations.
 41. The method recited in claim 37, wherein providing for scaling is configured to produce a stabilizing step size for each antenna that is configured to improve convergence rate for multiple iterations.
 42. The method recited in claim 37 whereby providing for mixed-decision processing is further configured to produce each of the updated symbol decisions, irrespective of other symbol decisions, as a hard decision that quantizes one of the interference-cancelled symbol decisions onto a nearby constellation point, or a soft decision that scales one of the interference-cancelled symbol decisions without quantizing to aconstellation point.
 43. The method recited in claim 37, further comprising providing for removing bias, as computed on the interference-cancelled symbol decisions prior to producing the updated symbol decisions.
 44. The method recited in claim 37, further configured for performing symbol-level interference cancellation using a direct implementation of a one-step matrix update equation, comprising an explicit matrix representation of a users' received correlation matrix for received signals combined across antennas, an implementation matrix, a soft-weighting matrix, a de-biasing matrix, and a scalar stabilizing step size.
 45. The method recited in claim 44 comprising a one-step matrix update equation given by {circumflex over (b)} ^([i+]) =Ψ{D ^([i])(μ^([i])( q−RΓ ^([i]) {circumflex over (b)} ^([i]))+FΓ ^([i]))}, wherein {circumflex over (b)} ^([i]) is a column vector of input symbol decisions of all sources after an i^(th) iteration of interference cancellation, q is a vector of the despread received signals that have been combined across antennas, μ^([i]) is a scalar stabilizing step, Γ^([i]) is a weighting matrix used for scaling the input symbol decisions, R is a correlation matrix for received signals combined across antennas that is a sum of per-antenna received-signal correlation matrices, F is an implementation matrix, D^([i]) is a de-biasing matrix, and Ψ is a mixed-decision operator that produces updated symbol decisions {circumflex over (b)} ^([i+1]).
 46. The method recited in claim 44, wherein the implementation matrix is an identity matrix or a correlation matrix for transmitted signals.
 47. A subscriber-side device configured to perform the method recited in claim
 37. 48. A server-side device configured to perform the method recited in claim
 37. 49. An interference-cancellation system configured for canceling at least one of inter-cell and intra-cell interference in a received signal from a plurality of antennas, the system comprising a front-end processing means configured for generating initial symbol decisions, and an iterative interference-cancellation means for producing updated symbol decisions; the iterative interference-cancellation means comprising: a soft-weighting means configured to apply weights to a plurality of input symbol decisions to produce weighted symbol decisions, a synthesizing means configured for synthesizing constituent signals corresponding to each antenna of the plurality of antennas, a subtractive cancellation means configured to perform a per-antenna subtraction of the synthesized signal from the received signal to produce a plurality of per-antenna error signals, a stabilizing step size means configured for scaling the plurality of antenna error signals by a stabilizing step size for producing a plurality of scaled error signals, a combining means configured for combining each of the constituent signals with its corresponding scaled error signal to produce a plurality of interference-cancelled constituents, a resolving means configured for resolving each of the interference-cancelled constituent signals onto a signal basis for a plurality of transmit sources to produce the interference-cancelled input symbol decisions, and a mixed-decision means configured for processing the interference-cancelled symbol decisions to produce the updated symbol decisions.
 50. The system recited in claim 49, further configured for canceling interference from each of a plurality of base stations.
 51. The system recited in claim 49, wherein the soft-weighting means is further configured to employ constants whose magnitudes depend on merits of the interference-cancelled symbol decisions.
 52. The system recited in claim 49, whereby the stabilizing step size means is configured to produce a scalar step size that improves convergence rate for multiple iterations.
 53. The system recited in claim 49, wherein the stabilizing step size means is configured to produce a stabilizing step size for each antenna that is configured to improve convergence rate for multiple iterations.
 54. The system recited in claim 49 whereby the mixed-decision means is further configured to produce each of the updated symbol decisions, irrespective of other symbol decisions, as a hard decision that quantizes one of the interference-cancelled symbol decisions onto a nearby constellation point, or a soft decision that scales one of the interference-cancelled symbol decisions without quantizing to a constellation point.
 55. The system recited in claim 49, further comprising a de-bias means configured to remove bias, as computed on the interference-cancelled symbol decisions prior to producing the updated symbol decisions.
 56. The system recited in claim 49, configured for performing symbol-level interference cancellation using a direct implementation of a one-step matrix update equation, comprising an explicit matrix representation of a users' received correlation matrix for received signals combined across antennas, an implementation matrix, a soft-weighting matrix, a de-biasing matrix, and a scalar stabilizing step size.
 57. The system recited in claim 56 comprising a one-step matrix update equation given by {circumflex over (b)} ^([i+1]) =Ψ{D ^([i])(μ^([i])( q−RΓ ^([i]) {circumflex over (b)} ^([i]))+FΓ ^([i]))}, wherein {circumflex over (b)} is a column vector of input symbol decisions of all sources after an i^(th) iteration of interference cancellation, q is a vector of the despread received signalsthat have been combined across antennas, μ^([i]) is a scalar stabilizing step, Γ^([i]) is a weighting matrix used for scaling the input symbol decisions, R is a correlation matrix for received signals combined across antennas that is a sum of per-antenna received-signal correlation matrices, F is an implementation matrix, D^([i]) is a de-biasing matrix, and Ψ is a mixed-decision operator that produces updated symbol decisions {circumflex over (b)} ^([i+1]).
 58. The system recited in claim 57, wherein the implementation matrix is an identity matrix or a correlation matrix for transmitted signals.
 59. The system recited in claim 49, configured to reside in at least one of a set of devices, the set comprising a subscriber-side device configured for processing forward-link signals and a server-side device for processing reverse-link signals.
 60. An interference canceller for canceling at least one of inter-cell and intra-cell interference in multiple-access communication signals received by a plurality of antennas, comprising: a front-end processing module configured for generating initial symbol decisions, a sequence of interference cancellation units configured for processing the initial symbol decisions, each of the sequence of interference cancellation units comprising a soft-weighting module, a mixed-decision module, and a stabilizing step-size module to convert the input symbol decisions into updated symbol decisions, the stabilizing step-size module comprising, a stabilizing step size calculation module configured to generate a stabilizing step size having a magnitude indicative of how far the input symbol decisions are from desired interference-cancelled symbol decisions in an iteration of an iterative cancellation process, and a weighting module configured for weighting an error signal with the stabilizing step size.
 61. The interference canceller recited in claim 60, wherein the calculation module is configured to calculate the stabilizing step size as a ratio of distance measures between received signals combined across the plurality of antennas and synthesized received signals combined across the plurality of antennas.
 62. The interference canceller recited in claim 61, whereby the stabilizing step size comprises a ratio, the ratio comprising a numerator and a denominator, the numerator of the ratio being calculated by: evaluating for a particular antenna an error signal as a difference between a received signal on the particular antenna and a synthesized received signal for the particular antenna; resolving the error signal onto a signal basis for a plurality of transmit sources by employing Rake reception; maximal ratio combining, and despreading to produce an error vector; summing together error vectors from the plurality of antennas to produce a total error vector; and summing square magnitudes of elements of the total error vector; the denominator being calculated by: synthesizing for each of the plurality of antennas, a signal that would be received in response to elements of the total error vector being employed as symbols at the plurality of transmit sources, using a signal basis for the plurality of transmit sources; evaluating an integral of square magnitude for each synthesized antenna signal for producing a plurality of integrals, and summing together the integrals over the plurality of antennas.
 63. The interference canceller recited in claim 62, wherein the stabilizing step size is characterized by $\mu^{\lbrack i\rbrack} = \frac{\left( {\underset{\_}{q} - {{RF}\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)^{H}\left( {\underset{\_}{q} - {{RF}\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)}{\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)^{H}{R\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)}}$ wherein μ^([i]) is a stabilizing step size after an i^(th) iteration of the interference canceller; q is a vector of despread received signals that have been combined across the plurality of antennas, μ[i] is a scalar stabilizing step, Γ^([i]) is a weighting matrix used for scaling the input symbol decisions, R is a correlation matrix for received signals combined across the plurality of antennas, and is a sum of a per-antenna received-signal correlation matrices; F is an implementation matrix comprising an identity matrix or a transmit-signal correlation matrix; Γ^([i]) is a-diagonal soft-weighting matrix that weights symbol estimates {circumflex over (b)} ^([i]); and superscript H denotes complex-conjugate matrix transposition.
 64. The interference canceller recited in claim 60, wherein the calculation module is configured to calculate the stabilizing step size as a ratio of distance measures between received signals combined across the plurality of antennas and two differently synthesized received signals for each antenna that are combined across the plurality of antennas.
 65. The interference canceller recited in claim 64, whereby the stabilizing step size comprises a ratio, the ratio comprising a numerator and a denominator, wherein the error signal comprises a plurality of error signals, each corresponding to one of the plurality of antennas and being evaluated as a difference between a received signal on one of the plurality of antennas and a first synthesized received signal; the calculation module further configured for resolving each of the plurality of error signals onto a signal basis for a plurality of transmit sources to produce a plurality of error vectors, each error vector corresponding to one of the plurality of antennas; summing the plurality of error vectors to produce a first total error vector; scaling the input symbol decisions by a square of the soft weights; synthesizing signals that would be received by the plurality of antennas in response to the scaled input symbol decisions if employed as symbols at the plurality of transmit sources using a signal basis for all symbol sources in the channel; evaluating for each of the plurality of antennas, a difference between the received signal and the synthesized signal to produce an error signal for each antenna; resolving the error signal onto a signal basis for the plurality of transmit sources to produce a second error vector; summing together a plurality of second error vectors from the plurality of antennas to produce a second total error vector; the denominator of the ratio being calculated by: scaling the first total error vector with the soft weights to produce a scaled error vector; producing synthesized signals that would be received on the antennas in response to elements of the scaled error vector if employed as symbols at the plurality of transmit sources using a signal basis for the plurality of transmit sources; integrating square magnitudes of the synthesized signals to produce integrated signals and summing the integrated signals; and the numerator of the ratio being calculated as an inner product between the first total error vector scaled by the soft weights and the second total error vector.
 66. The interference canceller recited in claim 64, wherein the stabilizing step size is characterized by $\mu^{\lbrack i\rbrack} = \frac{\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}F\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)^{H}{\Gamma^{\lbrack i\rbrack}\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)}}{\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)^{H}\left( \Gamma^{\lbrack i\rbrack} \right)^{H}R\quad{\Gamma^{\lbrack i\rbrack}\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)}}$ wherein , μ^([i]) is a stabilizing step size after an i^(th) iteration of interference cancellation, q is a vector of despread received signals that have been combined across the plurality of antennas, μ^([i]) is a scalar stabilizing step, Γ^([i]) is a weighting matrix used for scaling the input symbol decisions, R is a correlation matrix for received signals combined across the plurality of antennas and is a sum of per-antenna received-signal correlation matrices; F is an implementation matrix comprising an identity matrix or a transmit-signal correlation matrix; Γ^([i]) is a diagonal soft-weighting matrix that weights elements of a soft-decision vector {circumflex over (b)} ^([i]); and superscript H denotes complex-conjugate matrix transposition.
 67. The interference canceller recited in claim 60, wherein the stabilizing step is measured as a function of channel quality parameters.
 68. The interference canceller recited in claim 67, wherein the stabilizing step size is characterized by ${\mu^{\lbrack i\rbrack} = {\mu = {\max\left\{ {C,\quad\frac{\max\limits_{s,l}{\sum\limits_{a = 1}^{A}{\alpha_{a,s,l}}^{p}}}{\sum\limits_{a = 1}^{A}{\sum\limits_{s = 1}^{B}{\sum\limits_{l = 1}^{L_{a,s}}{\alpha_{a,s,l}}^{p}}}}} \right\}}}},$ where μ is a stabilizing step size fixed for every iteration, A is a number of the plurality of antennas, B is a number of base stations, L_(a,s) is a number of multipaths from an s^(th) base station as seen by antenna a, α_(a,s,l) is a multipath gain corresponding to an l^(th) path from an s^(th) base station as seen by antenna a, max { } denotes a maximum function, and C and p are non-negative constants.
 69. The interference canceller recited in claim 60, wherein the stabilizing step is set equal to a predetermined fixed value.
 70. An interference cancellation method for canceling at least one of inter-cell and intra-cell interference in multiple-access communication signals received by a plurality of antennas, the method comprising: providing for front-end processing to generate initial symbol decisions, providing for performing iterative interference cancellation to process the initial symbol decisions, whereby iterative interference cancellation comprises soft weighting, a performing mixed decisions, and providing for scaling by a stabilizing step-size to convert the input symbol decisions into updated symbol decisions, the step of scaling by a stabilizing step-size comprising, providing for generating a stabilizing step size having a magnitude indicative of how far the input symbol decisions are from desired interference-cancelled symbol decisions in an iteration of the iterative interference cancellation, and providing for weighting an error signal with the stabilizing step size.
 71. The method recited in claim 70, wherein providing for generating a stabilizing step size is configured to calculate the stabilizing step size as a ratio of distance measures between received signals combined across the plurality of antennas and synthesized received signals combined across the plurality of antennas.
 72. The method recited in claim 71, whereby the stabilizing step size comprises a ratio, the ratio comprising a numerator and a denominator, the numerator of the ratio being calculated by: evaluating for a particular antenna an error signal as a difference between a received signal on the particular antenna and a synthesized received signal for the particular antenna; resolving the error signal onto a signal basis for a plurality of transmit sources by employing Rake reception; maximal ratio combining, and despreading to produce an error vector; summing together error vectors from the plurality of antennas to produce a total error vector; and summing square magnitudes of elements of the total error vector; the denominator being calculated by: synthesizing for each of the plurality of antennas, a signal that would be received in response to elements of the total error vector being employed as symbols at the plurality of transmit sources, using a signal basis for the plurality of transmit sources; evaluating an integral of square magnitude for each synthesized antenna signal for producing a plurality of integrals, and summing together the integrals over the plurality of antennas.
 73. The method recited in claim 72, wherein the stabilizing step size is characterized by $\mu^{\lbrack i\rbrack} = \frac{\left( {\underset{\_}{q} - {{RF}\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)^{H}\left( {\underset{\_}{q} - {{RF}\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)}{\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)^{H}{R\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)}}$ wherein μ^([i]) is a stabilizing step size after an i^(th) iteration of the interference canceller; q is a vector of despread received signals that have been combined across the plurality of antennas, μ^([i]) is a scalar stabilizing step, Γ^([i]) is a weighting matrix used for scaling the input symbol decisions, R is a correlation matrix for received signals combined across the plurality of antennas, and is a sum of a per-antenna received-signal correlation matrices; F is an implementation matrix comprising an identity matrix or a transmit-signal correlation matrix; Γ^([i]) is a diagonal soft-weighting matrix that weights symbol estimates {circumflex over (b)} ^([i]); and superscript H denotes complex-conjugate matrix transposition.
 74. The method recited in claim 70, wherein providing for generating a stabilizing step size is configured to calculate the stabilizing step size as a ratio of distance measures between received signals combined across the plurality of antennas and two differently synthesized received signals for each antenna that are combined across the plurality of antennas.
 75. The method recited in claim 74, whereby the stabilizing step size comprises a ratio, the ratio comprising a numerator and a denominator, wherein the error signal comprises a plurality of error signals, each corresponding to one of the plurality of antennas and being evaluated as a difference between a received signal on one of the plurality of antennas and a first synthesized received signal; the calculation module further configured for resolving each of the plurality of error signals onto a signal basis for a plurality of transmit sources to produce a plurality of error vectors, each error vector corresponding to one of the plurality of antennas; summing the plurality of error vectors to produce a first total error vector; scaling the input symbol decisions by a square of the soft weights; synthesizing signals that would be received by the plurality of antennas in response to the scaled input symbol decisions if employed as symbols at the plurality of transmit sources using a signal basis for all symbol sources in the channel; evaluating for each of the plurality of antennas, a difference between the received signal and the synthesized signal to produce an error signal for each antenna; resolving the error signal onto a signal basis for the plurality of transmit sources to produce a second error vector; summing together a plurality of second error vectors from the plurality of antennas to produce a second total error vector; the denominator of the ratio being calculated by: scaling the first total error vector with the soft weights to produce a scaled error vector; producing synthesized signals that would be received on the antennas in response to elements of the scaled error vector if employed as symbols at the plurality of transmit sources using a signal basis for the plurality of transmit sources; integrating square magnitudes of the synthesized signals to produce integrated signals and summing the integrated signals; and the numerator of the ratio being calculated as an inner product between the first total error vector scaled by the soft weights and the second total error vector.
 76. The method recited in claim 74, wherein the stabilizing step size is characterized by $\mu^{\lbrack i\rbrack} = \frac{\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}F\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)^{H}{\Gamma^{\lbrack i\rbrack}\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)}}{\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)^{H}\left( \Gamma^{\lbrack i\rbrack} \right)^{H}R\quad{\Gamma^{\lbrack i\rbrack}\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)}}$ wherein μ^([i]) is a stabilizing step size after an i^(th) iteration of interference cancellation, q is a vector of despread received signals that have been combined across the plurality of antennas, μ^([i]) is a scalar stabilizing step, Γ^([i]) is a weighting matrix used for scaling the input symbol decisions, R is a correlation matrix for received signals combined across the plurality of antennas and is a sum of per-antenna received-signal correlation matrices; F is an implementation matrix comprising an identity matrix or a transmit-signal correlation matrix; Γ^([i]) is a diagonal soft-weighting matrix that weights elements of a soft-decision vector {circumflex over (b)} ^([i]); and superscript H denotes complex-conjugate matrix transposition.
 77. The method recited in claim 70, wherein the stabilizing step is measured as a function of channel quality parameters.
 78. The method recited in claim 77, wherein the stabilizing step size is characterized by ${\mu^{\lbrack i\rbrack} = {\mu = {\max\left\{ {C,\quad\frac{\max\limits_{s,l}{\sum\limits_{a = 1}^{A}{\alpha_{a,s,l}}^{p}}}{\sum\limits_{a = 1}^{A}{\sum\limits_{s = 1}^{B}{\sum\limits_{l = 1}^{L_{a,s}}{\alpha_{a,s,l}}^{p}}}}} \right\}}}},$ where μ is a stabilizing step size fixed for every iteration, A is a number of the plurality of antennas, B is a number of base stations, L_(a,s) is a number of multipaths from an s^(th) base station as seen by antenna a, α_(a,s,l) is a multipath gain corresponding to an l^(th) path from an s^(th) base station as seen by antenna a, max { } denotes a maximum function, and C and p are non-negative constants.
 79. The method recited in claim 70, wherein the stabilizing step is set equal to a predetermined fixed value.
 80. A subscriber-side device configured to perform the method recited in claim
 70. 81. A server-side device configured to perform the method recited in claim
 70. 82. An interference cancellation system configured for canceling at least one of inter-cell and intra-cell interference in multiple-access communication signals received by a plurality of antennas, the system comprising: a front-end processing means configured for generating initial symbol decisions, an iterative interference-cancellation means configured for processing the initial symbol decisions, the iterative interference-cancellation means comprising a soft-weighting means, a mixed-decision means, and a stabilizing step-size means to convert the input symbol decisions into updated symbol decisions, the stabilizing step-size means comprising, a stabilizing step size calculation means configured to generate a stabilizing step size having a magnitude indicative of how far the input symbol decisions are from desired interference-cancelled symbol decisions in an iteration of an iterative cancellation process, and a weighting means configured for weighting an error signal with the stabilizing step size.
 83. The system recited in claim 82, wherein the stabilizing step size calculation means is configured to calculate the stabilizing step size as a ratio of distance measures between received signals combined across the plurality of antennas and synthesized received signals combined across the plurality of antennas.
 84. The system recited in claim 83, whereby the stabilizing step size comprises a ratio, the ratio comprising a numerator and a denominator, the numerator of the ratio being calculated by: evaluating for a particular antenna an error signal as a difference between a received signal on the particular antenna and a synthesized received signal for the particular antenna; resolving the error signal onto a signal basis for a plurality of transmit sources by employing Rake reception; maximal ratio combining, and despreading to produce an error vector; summing together error vectors from the plurality of antennas to produce a total error vector; and summing square magnitudes of elements of the total error vector; the denominator being calculated by: synthesizing for each of the plurality of antennas, a signal that would be received in response to elements of the total error vector being employed as symbols at the plurality of transmit sources, using a signal basis for the plurality of transmit sources; evaluating an integral of square magnitude for each synthesized antenna signal for producing a plurality of integrals, and summing together the integrals over the plurality of antennas.
 85. The system recited in claim 84, wherein the stabilizing step size is characterized by $\mu^{\lbrack i\rbrack} = \frac{\left( {\underset{\_}{q} - {{RF}\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)^{H}\left( {\underset{\_}{q} - {{RF}\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)}{\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)^{H}{R\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)}}$ wherein μ^([i]) is a stabilizing step size after an i^(th) iteration of the interference canceller; q is a vector of despread received signals that have been combined across the plurality of antennas, μ^([i]) is a scalar stabilizing step, Γ^([i]) is a weighting matrix used for scaling the input symbol decisions, R is a correlation matrix for received signals combined across the plurality of antennas, and is a sum of a per-antenna received-signal correlation matrices; F is an implementation matrix comprising an identity matrix or a transmit-signal correlation matrix; Γ^([i]) is a diagonal soft-weighting matrix that weights symbol estimates {circumflex over (b)} ^([i]); and superscript H denotes complex-conjugate matrix transposition.
 86. The system recited in claim 82, wherein the stabilizing step size calculation means is configured to calculate the stabilizing step size as a ratio of distance measures between received signals combined across the plurality of antennas and two differently synthesized received signals for each antenna that are combined across the plurality of antennas.
 87. The system recited in claim 86, whereby the stabilizing step size comprises a ratio, the ratio comprising a numerator and a denominator, wherein the error signal comprises a plurality of error signals, each corresponding to one of the plurality of antennas and being evaluated as a difference between a received signal on one of the plurality of antennas and a first synthesized received signal; the calculation module further configured for resolving each of the plurality of error signals onto a signal basis for a plurality of transmit sources to produce a plurality of error vectors, each error vector corresponding to one of the plurality of antennas; summing the plurality of error vectors to produce a first total error vector; scaling the input symbol decisions by a square of the soft weights; synthesizing signals that would be received by the plurality of antennas in response to the scaled input symbol decisions if employed as symbols at the plurality of transmit sources using a signal basis for all symbol sources in the channel; evaluating for each of the plurality of antennas, a difference between the received signal and the synthesized signal to produce an error signal for each antenna; resolving the error signal onto a signal basis for the plurality of transmit sources to produce a second error vector; summing together a plurality of second error vectors from the plurality of antennas to produce a second total error vector; the denominator of the ratio being calculated by: scaling the first total error vector with the soft weights to produce a scaled error vector; producing synthesized signals that would be received on the antennas in response to elements of the scaled error vector if employed as symbols at the plurality of transmit sources using a signal basis for the plurality of transmit sources; integrating square magnitudes of the synthesized signals to produce integrated signals and summing the integrated signals; and the numerator of the ratio being calculated as an inner product between the first total error vector scaled by the soft weights and the second total error vector.
 88. The interference canceller recited in claim 86, wherein the stabilizing step size is characterized by $\mu^{\lbrack i\rbrack} = \frac{\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}F\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)^{H}{\Gamma^{\lbrack i\rbrack}\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)}}{\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)^{H}\left( \Gamma^{\lbrack i\rbrack} \right)^{H}R\quad{\Gamma^{\lbrack i\rbrack}\left( {\underset{\_}{q} - {R\quad\Gamma^{\lbrack i\rbrack}{\hat{\underset{\_}{b}}}^{\lbrack i\rbrack}}} \right)}}$ wherein μ^([i]) is a stabilizing step size after an i^(th) iteration of interference cancellation, q is a vector of despread received signals that have been combined across the plurality of antennas, μ^([i]) is a scalar stabilizing step, Γ^([i]) is a weighting matrix used for scaling the input symbol decisions, R is a correlation matrix for received signals combined across the plurality of antennas and is a sum of per-antenna received-signal correlation matrices; F is an implementation matrix comprising an identity matrix or a transmit-signal correlation matrix; Γ^([i]) is a diagonal soft-weighting matrix that weights elements of a soft-decision vector {circumflex over (b)} ^([i]); and superscript H denotes complex-conjugate matrix transposition.
 89. The system recited in claim 82, wherein the stabilizing step is measured as a function of channel quality parameters.
 90. The system recited in claim 89, wherein the stabilizing step size is characterized by ${\mu^{\lbrack i\rbrack} = {\mu = {\max\left\{ {C,\quad\frac{\max\limits_{s,l}{\sum\limits_{a = 1}^{A}{\alpha_{a,s,l}}^{p}}}{\sum\limits_{a = 1}^{A}{\sum\limits_{s = 1}^{B}{\sum\limits_{l = 1}^{L_{a,s}}{\alpha_{a,s,l}}^{p}}}}} \right\}}}},$ where μ is a stabilizing step size fixed for every iteration, A is a number of the plurality of antennas, B is a number of base stations, L_(a,s) is a number of multipaths from an s^(th) base station as seen by antenna a, α_(a,s,l) is a multipath gain corresponding to an l^(th) path from an s^(th) base station as seen by antenna a, max { } denotes a maximum function, and C and p are non-negative constants.
 91. The system recited in claim 82, wherein the stabilizing step is set equal to a predetermined fixed value. 